let image =[| 
						[|0;0;0;0;0;0;0;0|];
						[|0;0;0;0;0;0;0;0|];
						[|0;0;0;0;1;1;1;1|];
						[|0;0;0;0;1;1;1;1|];
						[|0;0;0;1;1;1;1;1|];
						[|0;0;110;1;1;1;1|];						
						[|0;0;1;1;1;1;0;0|];
						[|0;0;1;1;1;0;0;0|]
						|];;

type node = 
	| Node of int*int*int*node*node*node*node (*x,y,size,NW,NE,SW,SE*)
	| Leaf of int (*value*)
	| Null;;

let check_subidivide image size=
		let rec do_check_subdivide image i j size=
			if (i>=size) then false
				else if (j>=size) then (do_check_subdivide image (i+1) 0 size)
								else if image.(i).(j) <> 0 then true 
												else (do_check_subdivide image (i+1) (j+1) size)
		in do_check_subdivide image 0 0 size
										;; 					

let rec create_quadtree img size start_x start_y = 
	if (!(check_subdivide img size)) 
		then Node(size/2, size/2 
